1
// Generated file, to regenerate run
2
//     ./gen-array-impls.sh > src/array/generated_impl.rs
3
// from the repo root
4

            
5
use super::Array;
6

            
7
impl<T: Default> Array for [T; 0] {
8
  type Item = T;
9
  const CAPACITY: usize = 0;
10

            
11
  #[inline(always)]
12
  #[must_use]
13
  fn as_slice(&self) -> &[T] {
14
    &*self
15
  }
16

            
17
  #[inline(always)]
18
  #[must_use]
19
  fn as_slice_mut(&mut self) -> &mut [T] {
20
    &mut *self
21
  }
22

            
23
  #[inline(always)]
24
  fn default() -> Self {
25
    []
26
  }
27
}
28

            
29
impl<T: Default> Array for [T; 1] {
30
  type Item = T;
31
  const CAPACITY: usize = 1;
32

            
33
  #[inline(always)]
34
  #[must_use]
35
  fn as_slice(&self) -> &[T] {
36
    &*self
37
  }
38

            
39
  #[inline(always)]
40
  #[must_use]
41
  fn as_slice_mut(&mut self) -> &mut [T] {
42
    &mut *self
43
  }
44

            
45
  #[inline(always)]
46
  fn default() -> Self {
47
    [T::default()]
48
  }
49
}
50

            
51
impl<T: Default> Array for [T; 2] {
52
  type Item = T;
53
  const CAPACITY: usize = 2;
54

            
55
  #[inline(always)]
56
  #[must_use]
57
  fn as_slice(&self) -> &[T] {
58
    &*self
59
  }
60

            
61
  #[inline(always)]
62
  #[must_use]
63
  fn as_slice_mut(&mut self) -> &mut [T] {
64
    &mut *self
65
  }
66

            
67
  #[inline(always)]
68
  fn default() -> Self {
69
    [T::default(), T::default()]
70
  }
71
}
72

            
73
impl<T: Default> Array for [T; 3] {
74
  type Item = T;
75
  const CAPACITY: usize = 3;
76

            
77
  #[inline(always)]
78
  #[must_use]
79
  fn as_slice(&self) -> &[T] {
80
    &*self
81
  }
82

            
83
  #[inline(always)]
84
  #[must_use]
85
  fn as_slice_mut(&mut self) -> &mut [T] {
86
    &mut *self
87
  }
88

            
89
  #[inline(always)]
90
  fn default() -> Self {
91
    [T::default(), T::default(), T::default()]
92
  }
93
}
94

            
95
impl<T: Default> Array for [T; 4] {
96
  type Item = T;
97
  const CAPACITY: usize = 4;
98

            
99
  #[inline(always)]
100
  #[must_use]
101
  fn as_slice(&self) -> &[T] {
102
    &*self
103
  }
104

            
105
  #[inline(always)]
106
  #[must_use]
107
  fn as_slice_mut(&mut self) -> &mut [T] {
108
    &mut *self
109
  }
110

            
111
  #[inline(always)]
112
  fn default() -> Self {
113
    [T::default(), T::default(), T::default(), T::default()]
114
  }
115
}
116

            
117
impl<T: Default> Array for [T; 5] {
118
  type Item = T;
119
  const CAPACITY: usize = 5;
120

            
121
  #[inline(always)]
122
  #[must_use]
123
  fn as_slice(&self) -> &[T] {
124
    &*self
125
  }
126

            
127
  #[inline(always)]
128
  #[must_use]
129
  fn as_slice_mut(&mut self) -> &mut [T] {
130
    &mut *self
131
  }
132

            
133
  #[inline(always)]
134
  fn default() -> Self {
135
    [T::default(), T::default(), T::default(), T::default(), T::default()]
136
  }
137
}
138

            
139
impl<T: Default> Array for [T; 6] {
140
  type Item = T;
141
  const CAPACITY: usize = 6;
142

            
143
  #[inline(always)]
144
  #[must_use]
145
  fn as_slice(&self) -> &[T] {
146
    &*self
147
  }
148

            
149
  #[inline(always)]
150
  #[must_use]
151
  fn as_slice_mut(&mut self) -> &mut [T] {
152
    &mut *self
153
  }
154

            
155
  #[inline(always)]
156
  fn default() -> Self {
157
    [
158
      T::default(),
159
      T::default(),
160
      T::default(),
161
      T::default(),
162
      T::default(),
163
      T::default(),
164
    ]
165
  }
166
}
167

            
168
impl<T: Default> Array for [T; 7] {
169
  type Item = T;
170
  const CAPACITY: usize = 7;
171

            
172
  #[inline(always)]
173
  #[must_use]
174
  fn as_slice(&self) -> &[T] {
175
    &*self
176
  }
177

            
178
  #[inline(always)]
179
  #[must_use]
180
  fn as_slice_mut(&mut self) -> &mut [T] {
181
    &mut *self
182
  }
183

            
184
  #[inline(always)]
185
  fn default() -> Self {
186
    [
187
      T::default(),
188
      T::default(),
189
      T::default(),
190
      T::default(),
191
      T::default(),
192
      T::default(),
193
      T::default(),
194
    ]
195
  }
196
}
197

            
198
impl<T: Default> Array for [T; 8] {
199
  type Item = T;
200
  const CAPACITY: usize = 8;
201

            
202
  #[inline(always)]
203
  #[must_use]
204
  fn as_slice(&self) -> &[T] {
205
    &*self
206
  }
207

            
208
  #[inline(always)]
209
  #[must_use]
210
  fn as_slice_mut(&mut self) -> &mut [T] {
211
    &mut *self
212
  }
213

            
214
  #[inline(always)]
215
  fn default() -> Self {
216
    [
217
      T::default(),
218
      T::default(),
219
      T::default(),
220
      T::default(),
221
      T::default(),
222
      T::default(),
223
      T::default(),
224
      T::default(),
225
    ]
226
  }
227
}
228

            
229
impl<T: Default> Array for [T; 9] {
230
  type Item = T;
231
  const CAPACITY: usize = 9;
232

            
233
  #[inline(always)]
234
  #[must_use]
235
  fn as_slice(&self) -> &[T] {
236
    &*self
237
  }
238

            
239
  #[inline(always)]
240
  #[must_use]
241
  fn as_slice_mut(&mut self) -> &mut [T] {
242
    &mut *self
243
  }
244

            
245
  #[inline(always)]
246
  fn default() -> Self {
247
    [
248
      T::default(),
249
      T::default(),
250
      T::default(),
251
      T::default(),
252
      T::default(),
253
      T::default(),
254
      T::default(),
255
      T::default(),
256
      T::default(),
257
    ]
258
  }
259
}
260

            
261
impl<T: Default> Array for [T; 10] {
262
  type Item = T;
263
  const CAPACITY: usize = 10;
264

            
265
  #[inline(always)]
266
  #[must_use]
267
  fn as_slice(&self) -> &[T] {
268
    &*self
269
  }
270

            
271
  #[inline(always)]
272
  #[must_use]
273
  fn as_slice_mut(&mut self) -> &mut [T] {
274
    &mut *self
275
  }
276

            
277
  #[inline(always)]
278
  fn default() -> Self {
279
    [
280
      T::default(),
281
      T::default(),
282
      T::default(),
283
      T::default(),
284
      T::default(),
285
      T::default(),
286
      T::default(),
287
      T::default(),
288
      T::default(),
289
      T::default(),
290
    ]
291
  }
292
}
293

            
294
impl<T: Default> Array for [T; 11] {
295
  type Item = T;
296
  const CAPACITY: usize = 11;
297

            
298
  #[inline(always)]
299
  #[must_use]
300
  fn as_slice(&self) -> &[T] {
301
    &*self
302
  }
303

            
304
  #[inline(always)]
305
  #[must_use]
306
  fn as_slice_mut(&mut self) -> &mut [T] {
307
    &mut *self
308
  }
309

            
310
  #[inline(always)]
311
  fn default() -> Self {
312
    [
313
      T::default(),
314
      T::default(),
315
      T::default(),
316
      T::default(),
317
      T::default(),
318
      T::default(),
319
      T::default(),
320
      T::default(),
321
      T::default(),
322
      T::default(),
323
      T::default(),
324
    ]
325
  }
326
}
327

            
328
impl<T: Default> Array for [T; 12] {
329
  type Item = T;
330
  const CAPACITY: usize = 12;
331

            
332
  #[inline(always)]
333
  #[must_use]
334
  fn as_slice(&self) -> &[T] {
335
    &*self
336
  }
337

            
338
  #[inline(always)]
339
  #[must_use]
340
  fn as_slice_mut(&mut self) -> &mut [T] {
341
    &mut *self
342
  }
343

            
344
  #[inline(always)]
345
  fn default() -> Self {
346
    [
347
      T::default(),
348
      T::default(),
349
      T::default(),
350
      T::default(),
351
      T::default(),
352
      T::default(),
353
      T::default(),
354
      T::default(),
355
      T::default(),
356
      T::default(),
357
      T::default(),
358
      T::default(),
359
    ]
360
  }
361
}
362

            
363
impl<T: Default> Array for [T; 13] {
364
  type Item = T;
365
  const CAPACITY: usize = 13;
366

            
367
  #[inline(always)]
368
  #[must_use]
369
  fn as_slice(&self) -> &[T] {
370
    &*self
371
  }
372

            
373
  #[inline(always)]
374
  #[must_use]
375
  fn as_slice_mut(&mut self) -> &mut [T] {
376
    &mut *self
377
  }
378

            
379
  #[inline(always)]
380
  fn default() -> Self {
381
    [
382
      T::default(),
383
      T::default(),
384
      T::default(),
385
      T::default(),
386
      T::default(),
387
      T::default(),
388
      T::default(),
389
      T::default(),
390
      T::default(),
391
      T::default(),
392
      T::default(),
393
      T::default(),
394
      T::default(),
395
    ]
396
  }
397
}
398

            
399
impl<T: Default> Array for [T; 14] {
400
  type Item = T;
401
  const CAPACITY: usize = 14;
402

            
403
  #[inline(always)]
404
  #[must_use]
405
  fn as_slice(&self) -> &[T] {
406
    &*self
407
  }
408

            
409
  #[inline(always)]
410
  #[must_use]
411
  fn as_slice_mut(&mut self) -> &mut [T] {
412
    &mut *self
413
  }
414

            
415
  #[inline(always)]
416
  fn default() -> Self {
417
    [
418
      T::default(),
419
      T::default(),
420
      T::default(),
421
      T::default(),
422
      T::default(),
423
      T::default(),
424
      T::default(),
425
      T::default(),
426
      T::default(),
427
      T::default(),
428
      T::default(),
429
      T::default(),
430
      T::default(),
431
      T::default(),
432
    ]
433
  }
434
}
435

            
436
impl<T: Default> Array for [T; 15] {
437
  type Item = T;
438
  const CAPACITY: usize = 15;
439

            
440
  #[inline(always)]
441
  #[must_use]
442
  fn as_slice(&self) -> &[T] {
443
    &*self
444
  }
445

            
446
  #[inline(always)]
447
  #[must_use]
448
  fn as_slice_mut(&mut self) -> &mut [T] {
449
    &mut *self
450
  }
451

            
452
  #[inline(always)]
453
  fn default() -> Self {
454
    [
455
      T::default(),
456
      T::default(),
457
      T::default(),
458
      T::default(),
459
      T::default(),
460
      T::default(),
461
      T::default(),
462
      T::default(),
463
      T::default(),
464
      T::default(),
465
      T::default(),
466
      T::default(),
467
      T::default(),
468
      T::default(),
469
      T::default(),
470
    ]
471
  }
472
}
473

            
474
impl<T: Default> Array for [T; 16] {
475
  type Item = T;
476
  const CAPACITY: usize = 16;
477

            
478
  #[inline(always)]
479
  #[must_use]
480
  fn as_slice(&self) -> &[T] {
481
    &*self
482
  }
483

            
484
  #[inline(always)]
485
  #[must_use]
486
  fn as_slice_mut(&mut self) -> &mut [T] {
487
    &mut *self
488
  }
489

            
490
  #[inline(always)]
491
  fn default() -> Self {
492
    [
493
      T::default(),
494
      T::default(),
495
      T::default(),
496
      T::default(),
497
      T::default(),
498
      T::default(),
499
      T::default(),
500
      T::default(),
501
      T::default(),
502
      T::default(),
503
      T::default(),
504
      T::default(),
505
      T::default(),
506
      T::default(),
507
      T::default(),
508
      T::default(),
509
    ]
510
  }
511
}
512

            
513
impl<T: Default> Array for [T; 17] {
514
  type Item = T;
515
  const CAPACITY: usize = 17;
516

            
517
  #[inline(always)]
518
  #[must_use]
519
  fn as_slice(&self) -> &[T] {
520
    &*self
521
  }
522

            
523
  #[inline(always)]
524
  #[must_use]
525
  fn as_slice_mut(&mut self) -> &mut [T] {
526
    &mut *self
527
  }
528

            
529
  #[inline(always)]
530
  fn default() -> Self {
531
    [
532
      T::default(),
533
      T::default(),
534
      T::default(),
535
      T::default(),
536
      T::default(),
537
      T::default(),
538
      T::default(),
539
      T::default(),
540
      T::default(),
541
      T::default(),
542
      T::default(),
543
      T::default(),
544
      T::default(),
545
      T::default(),
546
      T::default(),
547
      T::default(),
548
      T::default(),
549
    ]
550
  }
551
}
552

            
553
impl<T: Default> Array for [T; 18] {
554
  type Item = T;
555
  const CAPACITY: usize = 18;
556

            
557
  #[inline(always)]
558
  #[must_use]
559
  fn as_slice(&self) -> &[T] {
560
    &*self
561
  }
562

            
563
  #[inline(always)]
564
  #[must_use]
565
  fn as_slice_mut(&mut self) -> &mut [T] {
566
    &mut *self
567
  }
568

            
569
  #[inline(always)]
570
  fn default() -> Self {
571
    [
572
      T::default(),
573
      T::default(),
574
      T::default(),
575
      T::default(),
576
      T::default(),
577
      T::default(),
578
      T::default(),
579
      T::default(),
580
      T::default(),
581
      T::default(),
582
      T::default(),
583
      T::default(),
584
      T::default(),
585
      T::default(),
586
      T::default(),
587
      T::default(),
588
      T::default(),
589
      T::default(),
590
    ]
591
  }
592
}
593

            
594
impl<T: Default> Array for [T; 19] {
595
  type Item = T;
596
  const CAPACITY: usize = 19;
597

            
598
  #[inline(always)]
599
  #[must_use]
600
  fn as_slice(&self) -> &[T] {
601
    &*self
602
  }
603

            
604
  #[inline(always)]
605
  #[must_use]
606
  fn as_slice_mut(&mut self) -> &mut [T] {
607
    &mut *self
608
  }
609

            
610
  #[inline(always)]
611
  fn default() -> Self {
612
    [
613
      T::default(),
614
      T::default(),
615
      T::default(),
616
      T::default(),
617
      T::default(),
618
      T::default(),
619
      T::default(),
620
      T::default(),
621
      T::default(),
622
      T::default(),
623
      T::default(),
624
      T::default(),
625
      T::default(),
626
      T::default(),
627
      T::default(),
628
      T::default(),
629
      T::default(),
630
      T::default(),
631
      T::default(),
632
    ]
633
  }
634
}
635

            
636
impl<T: Default> Array for [T; 20] {
637
  type Item = T;
638
  const CAPACITY: usize = 20;
639

            
640
  #[inline(always)]
641
  #[must_use]
642
  fn as_slice(&self) -> &[T] {
643
    &*self
644
  }
645

            
646
  #[inline(always)]
647
  #[must_use]
648
  fn as_slice_mut(&mut self) -> &mut [T] {
649
    &mut *self
650
  }
651

            
652
  #[inline(always)]
653
  fn default() -> Self {
654
    [
655
      T::default(),
656
      T::default(),
657
      T::default(),
658
      T::default(),
659
      T::default(),
660
      T::default(),
661
      T::default(),
662
      T::default(),
663
      T::default(),
664
      T::default(),
665
      T::default(),
666
      T::default(),
667
      T::default(),
668
      T::default(),
669
      T::default(),
670
      T::default(),
671
      T::default(),
672
      T::default(),
673
      T::default(),
674
      T::default(),
675
    ]
676
  }
677
}
678

            
679
impl<T: Default> Array for [T; 21] {
680
  type Item = T;
681
  const CAPACITY: usize = 21;
682

            
683
  #[inline(always)]
684
  #[must_use]
685
  fn as_slice(&self) -> &[T] {
686
    &*self
687
  }
688

            
689
  #[inline(always)]
690
  #[must_use]
691
  fn as_slice_mut(&mut self) -> &mut [T] {
692
    &mut *self
693
  }
694

            
695
  #[inline(always)]
696
  fn default() -> Self {
697
    [
698
      T::default(),
699
      T::default(),
700
      T::default(),
701
      T::default(),
702
      T::default(),
703
      T::default(),
704
      T::default(),
705
      T::default(),
706
      T::default(),
707
      T::default(),
708
      T::default(),
709
      T::default(),
710
      T::default(),
711
      T::default(),
712
      T::default(),
713
      T::default(),
714
      T::default(),
715
      T::default(),
716
      T::default(),
717
      T::default(),
718
      T::default(),
719
    ]
720
  }
721
}
722

            
723
impl<T: Default> Array for [T; 22] {
724
  type Item = T;
725
  const CAPACITY: usize = 22;
726

            
727
  #[inline(always)]
728
  #[must_use]
729
  fn as_slice(&self) -> &[T] {
730
    &*self
731
  }
732

            
733
  #[inline(always)]
734
  #[must_use]
735
  fn as_slice_mut(&mut self) -> &mut [T] {
736
    &mut *self
737
  }
738

            
739
  #[inline(always)]
740
  fn default() -> Self {
741
    [
742
      T::default(),
743
      T::default(),
744
      T::default(),
745
      T::default(),
746
      T::default(),
747
      T::default(),
748
      T::default(),
749
      T::default(),
750
      T::default(),
751
      T::default(),
752
      T::default(),
753
      T::default(),
754
      T::default(),
755
      T::default(),
756
      T::default(),
757
      T::default(),
758
      T::default(),
759
      T::default(),
760
      T::default(),
761
      T::default(),
762
      T::default(),
763
      T::default(),
764
    ]
765
  }
766
}
767

            
768
impl<T: Default> Array for [T; 23] {
769
  type Item = T;
770
  const CAPACITY: usize = 23;
771

            
772
  #[inline(always)]
773
  #[must_use]
774
  fn as_slice(&self) -> &[T] {
775
    &*self
776
  }
777

            
778
  #[inline(always)]
779
  #[must_use]
780
  fn as_slice_mut(&mut self) -> &mut [T] {
781
    &mut *self
782
  }
783

            
784
  #[inline(always)]
785
  fn default() -> Self {
786
    [
787
      T::default(),
788
      T::default(),
789
      T::default(),
790
      T::default(),
791
      T::default(),
792
      T::default(),
793
      T::default(),
794
      T::default(),
795
      T::default(),
796
      T::default(),
797
      T::default(),
798
      T::default(),
799
      T::default(),
800
      T::default(),
801
      T::default(),
802
      T::default(),
803
      T::default(),
804
      T::default(),
805
      T::default(),
806
      T::default(),
807
      T::default(),
808
      T::default(),
809
      T::default(),
810
    ]
811
  }
812
}
813

            
814
impl<T: Default> Array for [T; 24] {
815
  type Item = T;
816
  const CAPACITY: usize = 24;
817

            
818
  #[inline(always)]
819
  #[must_use]
820
  fn as_slice(&self) -> &[T] {
821
    &*self
822
  }
823

            
824
  #[inline(always)]
825
  #[must_use]
826
  fn as_slice_mut(&mut self) -> &mut [T] {
827
    &mut *self
828
  }
829

            
830
  #[inline(always)]
831
  fn default() -> Self {
832
    [
833
      T::default(),
834
      T::default(),
835
      T::default(),
836
      T::default(),
837
      T::default(),
838
      T::default(),
839
      T::default(),
840
      T::default(),
841
      T::default(),
842
      T::default(),
843
      T::default(),
844
      T::default(),
845
      T::default(),
846
      T::default(),
847
      T::default(),
848
      T::default(),
849
      T::default(),
850
      T::default(),
851
      T::default(),
852
      T::default(),
853
      T::default(),
854
      T::default(),
855
      T::default(),
856
      T::default(),
857
    ]
858
  }
859
}
860

            
861
impl<T: Default> Array for [T; 25] {
862
  type Item = T;
863
  const CAPACITY: usize = 25;
864

            
865
  #[inline(always)]
866
  #[must_use]
867
  fn as_slice(&self) -> &[T] {
868
    &*self
869
  }
870

            
871
  #[inline(always)]
872
  #[must_use]
873
  fn as_slice_mut(&mut self) -> &mut [T] {
874
    &mut *self
875
  }
876

            
877
  #[inline(always)]
878
  fn default() -> Self {
879
    [
880
      T::default(),
881
      T::default(),
882
      T::default(),
883
      T::default(),
884
      T::default(),
885
      T::default(),
886
      T::default(),
887
      T::default(),
888
      T::default(),
889
      T::default(),
890
      T::default(),
891
      T::default(),
892
      T::default(),
893
      T::default(),
894
      T::default(),
895
      T::default(),
896
      T::default(),
897
      T::default(),
898
      T::default(),
899
      T::default(),
900
      T::default(),
901
      T::default(),
902
      T::default(),
903
      T::default(),
904
      T::default(),
905
    ]
906
  }
907
}
908

            
909
impl<T: Default> Array for [T; 26] {
910
  type Item = T;
911
  const CAPACITY: usize = 26;
912

            
913
  #[inline(always)]
914
  #[must_use]
915
  fn as_slice(&self) -> &[T] {
916
    &*self
917
  }
918

            
919
  #[inline(always)]
920
  #[must_use]
921
  fn as_slice_mut(&mut self) -> &mut [T] {
922
    &mut *self
923
  }
924

            
925
  #[inline(always)]
926
  fn default() -> Self {
927
    [
928
      T::default(),
929
      T::default(),
930
      T::default(),
931
      T::default(),
932
      T::default(),
933
      T::default(),
934
      T::default(),
935
      T::default(),
936
      T::default(),
937
      T::default(),
938
      T::default(),
939
      T::default(),
940
      T::default(),
941
      T::default(),
942
      T::default(),
943
      T::default(),
944
      T::default(),
945
      T::default(),
946
      T::default(),
947
      T::default(),
948
      T::default(),
949
      T::default(),
950
      T::default(),
951
      T::default(),
952
      T::default(),
953
      T::default(),
954
    ]
955
  }
956
}
957

            
958
impl<T: Default> Array for [T; 27] {
959
  type Item = T;
960
  const CAPACITY: usize = 27;
961

            
962
  #[inline(always)]
963
  #[must_use]
964
  fn as_slice(&self) -> &[T] {
965
    &*self
966
  }
967

            
968
  #[inline(always)]
969
  #[must_use]
970
  fn as_slice_mut(&mut self) -> &mut [T] {
971
    &mut *self
972
  }
973

            
974
  #[inline(always)]
975
  fn default() -> Self {
976
    [
977
      T::default(),
978
      T::default(),
979
      T::default(),
980
      T::default(),
981
      T::default(),
982
      T::default(),
983
      T::default(),
984
      T::default(),
985
      T::default(),
986
      T::default(),
987
      T::default(),
988
      T::default(),
989
      T::default(),
990
      T::default(),
991
      T::default(),
992
      T::default(),
993
      T::default(),
994
      T::default(),
995
      T::default(),
996
      T::default(),
997
      T::default(),
998
      T::default(),
999
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 28] {
  type Item = T;
  const CAPACITY: usize = 28;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 29] {
  type Item = T;
  const CAPACITY: usize = 29;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 30] {
  type Item = T;
  const CAPACITY: usize = 30;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 31] {
  type Item = T;
  const CAPACITY: usize = 31;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 32] {
  type Item = T;
  const CAPACITY: usize = 32;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 33] {
  type Item = T;
  const CAPACITY: usize = 33;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 64] {
  type Item = T;
  const CAPACITY: usize = 64;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 128] {
  type Item = T;
  const CAPACITY: usize = 128;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 256] {
  type Item = T;
  const CAPACITY: usize = 256;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 512] {
  type Item = T;
  const CAPACITY: usize = 512;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 1024] {
  type Item = T;
  const CAPACITY: usize = 1024;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 2048] {
  type Item = T;
  const CAPACITY: usize = 2048;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}
impl<T: Default> Array for [T; 4096] {
  type Item = T;
  const CAPACITY: usize = 4096;
  #[inline(always)]
  #[must_use]
  fn as_slice(&self) -> &[T] {
    &*self
  }
  #[inline(always)]
  #[must_use]
  fn as_slice_mut(&mut self) -> &mut [T] {
    &mut *self
  }
  #[inline(always)]
  fn default() -> Self {
    [
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
      T::default(),
    ]
  }
}